package net.ericaro.neojavagen.names ;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;

import net.ericaro.neojavagen.names.PackageOrTypeName;
import net.ericaro.neojavagen.names.MethodName;
import net.ericaro.neojavagen.names.PackageName;
import net.ericaro.neojavagen.names.ExpressionName;
import net.ericaro.neojavagen.names.TypeName;
import net.ericaro.neojavagen.names.AmbiguousName;
import net.ericaro.neojavagen.types.Identifier ;

import net.ericaro.neojavagen.StringUtils;
		
/**
* <pre> QualifiedIdentifier :  Identifier . Identifier . ...  
*/
public class QualifiedIdentifier extends ArrayList<Identifier> implements MethodName,TypeName,PackageName,PackageOrTypeName,AmbiguousName,ExpressionName {
	
	public QualifiedIdentifier(){
		super();
	}
	
	public QualifiedIdentifier(Identifier ... components){
		this(Arrays.asList(components) );
	}
	public QualifiedIdentifier(Collection<Identifier> values ){
		super(values);
	}
	
	
	public String toString(){
		return StringUtils.toString(this, ".", "", "");
	}

}
